package entitybeans;

import java.io.FileNotFoundException;
import java.io.IOException;

import javax.persistence.Entity;

import xml.XMLParser;

import dto.ArticuloDTO;
import dto.ArticuloRopaDTO;
import dto.xml.XMLArticuloHogarDTO;
import dto.xml.XMLArticuloRopaDTO;
import dto.xml.XMLDetallesHogarDTO;
import dto.xml.XMLDetallesRopaDTO;
import dto.xml.XMLOfadArticuloHogarDTO;
import dto.xml.XMLOfadArticuloRopaDTO;

@Entity
public class ArticuloRopa extends Articulo {
	private String talle;
	private String origen;
	
	public ArticuloRopa() {
		super();
		// TODO Auto-generated constructor stub
	}
	public ArticuloRopa(Integer ref, String linea, String descripcion,
			String color, String seccion, Float precio, String nombre,
			String origen, String talle) {
		super(ref, linea, descripcion, color, seccion, precio, nombre);
		this.origen=origen;
		this.talle=talle;
		// TODO Auto-generated constructor stub
	}
	public String getTalle() {
		return talle;
	}
	public void setTalle(String talle) {
		this.talle = talle;
	}
	public String getOrigen() {
		return origen;
	}
	public void setOrigen(String origen) {
		this.origen = origen;
	}
	
	@Override
	public ArticuloDTO getDTO() {
		ArticuloRopaDTO a= new ArticuloRopaDTO();
		a.setColor(this.getColor());
		a.setSeccion(this.getSeccion());
		a.setLinea(this.getLinea());
		a.setNombre(this.getNombre());
		a.setPrecio(this.getPrecio());
		a.setDescripcion(this.getDescripcion());
		a.setRef(this.getRef());
		a.setXmlpath(this.getXmlpath());
		a.setTalle(this.getTalle());
		a.setOrigen(this.getOrigen());
		return a;
	}
	public void getGeneratedXmlpath() {
		XMLParser parser = new XMLParser();
		XMLDetallesRopaDTO detalle= new XMLDetallesRopaDTO(this.getRef(), this.getSeccion(), this.getPrecio(),
				this.getColor(), this.getLinea(), this.getDescripcion(), this.talle, this.origen);
		XMLArticuloRopaDTO xmlArticuloRopa= new XMLArticuloRopaDTO(detalle);

		String path = null;
		try {
			path = parser.generateXmlAndSave(xmlArticuloRopa);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println(path);
		this.setXmlpath(path);
	}
	
	public String getGeneratedXmlString() {
		XMLParser parser = new XMLParser();
		XMLDetallesRopaDTO detalle= new XMLDetallesRopaDTO(this.getRef(), this.getSeccion(), this.getPrecio(),
				this.getColor(), this.getLinea(), this.getDescripcion(), this.talle, this.origen);
		XMLArticuloRopaDTO xmlArticuloRopa= new XMLArticuloRopaDTO(detalle);

		String xml = null;
		try {
			xml = parser.getXmlString(xmlArticuloRopa);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println(xml);
		return xml;
	}
	
	@Override
	public Object getXmlDTO() {
		XMLOfadArticuloRopaDTO dto = new XMLOfadArticuloRopaDTO(this.getRef(), this.getSeccion(), this.getPrecio(),
				this.getColor(), this.getLinea(), this.getDescripcion(), this.getTalle(),
				this.getOrigen(), 5);
		return dto;
	}
	
	
	
}
